import pandas as pd
df = pd.read_csv('city.csv', sep=';')
df
# Задание 1
# Сгруппировать данные по CountryCode
# получить максимум и минимум по Population
# взять первых 10 результатов
# нормализовать индексы полученного датафрейма
df.groupby('CountryCode').agg(['max', 'min'])['Population'].reset_index().head(10)
# Задание 2
# Сгруппировать данные по CountryCode
# получить разницу между максимум и минимум по Population
# взять первые 10 результатов
# на выходе получить именно датафрейм (не серию)
df.groupby('CountryCode').apply(lambda x: x['Population'].max() - x['Population'].min()).reset_index().head(10)